import axios from "axios";


const request = axios.create({
  baseURL: "http://ttapi.research.itcast.cn/"
});

//请求拦截器  //如果我们create了一个实例 通过 request返送的请求 所以要 request.interceptors 如果没有create实例 那么就用 axios.interceptors 做请求
request.interceptors.request.use(
  //任何所以请求都会经过这个函数
  function(config) {
    //config=>是当前请求相关的配置信息对象  请求头的token就在这个里面
    // 我们就可以载允许请求出去之前制定统一的业务功能处理   // 列如：统一设置token  (手动的修改 config 里面的headers)
    const user = JSON.parse(window.localStorage.getItem("user"));
    if (user) { //如果有登录用户信息，则统一设置 token
      config.headers.Authorization = `Bearer ${user.token}`;
    }
    return config; //当这里 return config 之后请求才会真正的发出去    (不return这个config就是把所有的请求都拦截了)
  },
  function(error) {
    return Promise.reject(error);
  }
);

//响应拦截器

//导出请求方法
export default request;
